#ifndef	WINDOW_BASE
#define WINDOW_BASE
#include <sdk_global.h>
#include <QtGui/QMainWindow>
#include <QAction>
#include <QList>
#include <QMenu>
#include <QDockWidget>

class QDESIGNER_SDK_EXPORT WindowBase: public QMainWindow
{
    Q_OBJECT
public:
	WindowBase(QWidget *parent = 0, Qt::WindowFlags flags = Qt::Window);
	~WindowBase();

	virtual Qt::DockWidgetArea dockWidgetArea();
    virtual QList<QAction*> getActionList();
    virtual QMenu* getWindowBaseMenu();
    QAction* getWindowShowHideAction();
    QDockWidget* getDockWidget();
    bool getInitialShow();
    virtual void setUpInitialShowHide();
    void reDock();//为了应对在model对话框中显示后无法在dock窗口中显示的问题
    //virtual void addDockWidget2();
public slots:
    void windowShowHideActionToggled(bool checked);
protected:

private:
    QAction* m_windowShowHideAction;
    QDockWidget* m_dockWidget;
    bool m_initialShow;

};
#endif // WINDOW_BASE
